import com.google.appengine.api.datastore.*
import static com.google.appengine.api.datastore.FetchOptions.Builder.*
import com.pobos.model.*


try {
	String idConcello = params.id
	def sitios = obtenSitios(idConcello)
	
	if (sitios) {
		 amosaListaSitios(sitios)
	}
	
} catch (Exception e) { 
	request.erro = "Erro inesperado procurando as actividades."
	forward "/erro.gtpl"	
}

def obtenSitios(String idConcello) {
	
	def query = new Query("Sitio")
	query.addSort("dataCreacion", Query.SortDirection.DESCENDING)
	
	if (idConcello) {
		query.addFilter("concello", Query.FilterOperator.EQUAL, idConcello)
	}
	 
	PreparedQuery preparedQuery = datastore.prepare(query)
	 
	// return only the first 20 results
	def entities = preparedQuery.asList( withLimit(20) )
	
	return entities
	
}


def amosaListaSitios(def sitios) {
	
	if (sitios) {
		html.div(id:"lista-preguntas") {
			
			ol {
			
				sitios.eachWithIndex {sitio,i->
					if (sitio) {
						
						def descricion = sitio.descricion.value
						def resumeDescricion = ''
							
						if (descricion) {
							resumeDescricion = descricion[0..Math.min(descricion.size() -1, 249)]
								                    
							if (descricion.size() > 250) {
								resumeDescricion = resumeDescricion + " ..."
							}
						}
							
						
						li(class:'elemento') {
							a(class:'elemento-link', href:"/sitio/${sitio.key?.id}"){
								
								span (class:'recadro-sumario-verde') {
									span class:'tipo-sitio',"${sitio.tipo}"
								}
								div(class:'elemento-contido'){
									p class:'titulo',"Concello de ${sitio.nomeConcello}: ${sitio.sitio}"
									if (resumeDescricion) {
										p "${resumeDescricion}"
									}
									em "informou ${sitio.nomePerfil}"
								}
							}
							
						}
						
					}
				} //fin each
				
			} //fin ol
		}
	
	}
	
}

